feat(tech-spec): revise 2026-06 devexp per review comments + ideal user flow#1920
Draft
anthonyiscoding wants to merge 1 commit into
Draft
Conversation
…er flow Reverses four load-bearing decisions from the spec-owner review (deployed-spec comments + the Ideal User Flow diagram): - Config back in files: a worker ships defaults.yaml; worker-compose.<target>.yaml carries per-worker config: overrides; the configuration worker is OPTIONAL and reads/updates the active compose file (never defaults.yaml, errors if none). iii runs with zero workers. - Multi-host hub: the engine manages nothing and reports availability via a worker_available trigger; depends_on (incl. remote) gates by subscribing to it; iii-process-daemon is the local runner's supervisor (one option beside docker/systemd/bash), not the universal PID owner. - CLI: iii worker compose ... is canonical, iii --compose is the tutorial one-liner; top-level iii up/down/ps/logs dropped; iii trigger --timeout, console-as-worker (trigger::console), sandbox-via-trigger, worker --help/array-args/always-reinstall/--address fixes. - Onboarding journey added: interactive Welcome tutorial, email capture to Mailmodo, PostHog activation tracking, CI-verifiable tutorials. Also: depends_on name:/id: forms + targeted gating, per-compose iii.lock, retry/backoff + Inf timeouts, per-target sections, worker-compose.yml -> .yaml. Adds Ideal User Flow.excalidraw. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Contributor
|
Important Review skippedDraft detected. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: Repository UI Review profile: CHILL Plan: Pro Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Contributor
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Revises the 2026-06 devexp tech spec to match the spec-owner review (comments on the deployed spec + the Ideal User Flow Excalidraw + four clarifying answers). These reverse several load-bearing decisions, so the change touches all spec files plus the index.
Four reversals applied across the spec
defaults.yaml;worker-compose.<target>.yamlcarries per-workerconfig:overrides (effective =defaults.yaml◁ compose base ◁ target). Theconfigurationworker is now optional and acts as a read/update layer over the active compose file (never editsdefaults.yaml, errors when no compose file is found). iii runs with zero workers, including no configuration worker. (Reverses "no config in any file / mandatory store.")worker_availabletrigger;depends_on(including on remote workers) gates by subscribing to it.iii-process-daemonis the local runner's supervisor (one option beside docker/systemd/bash), not the universal owner of every PID. Cross-host lifecycle management is not a v1 promise; fleet-scale stays iii Cloud. (Reverses "daemon parents every PID / multi-host out of scope.")iii worker compose …is canonical;iii --composeis the tutorial one-liner (engine +compose up); the top-leveliii up/iii down/iii ps/iii logsaliases are dropped. Addsiii trigger --timeout <secs|Inf>, console-as-worker (trigger::console), sandbox-via-trigger, and theiii worker--help/array-args/always-reinstall/--addressfixes.lifecycle-and-onboarding.md: interactive "Welcome to iii!" tutorial, email capture → Mailmodo sequence, PostHog activation tracking, CI-verifiable tutorials.Smaller corrections folded in
depends_onname:/id:forms + trigger-gated, targeted (math→state, caller→http) readiness.iii.lockis local to eachworker-compose.yaml(one lock per compose file).Inf.targets:and/orworker-compose.<target>.yaml).worker-compose.yml→worker-compose.yamlthroughout.Ideal User Flow.excalidraw.Open points flagged for review
defaults.yamlis introduced as a separate per-worker file fromiii.worker.yaml(config defaults vs start/runtime manifest). If they should be merged, that's a follow-up.targets:and separateworker-compose.<target>.yaml); narrow to one if preferred.configuration, withconfig-worker:<id>as the addressing scheme/alias (the Excalidraw writesdepends_on: - config-worker).🤖 Generated with Claude Code